package com.ruoyi.huanjing.entity;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 距离脉冲数据实体类
 * 用于存储雷达或类似设备的距离-脉冲数据，包括距离门、脉冲序列以及对应的复数信号的实部和虚部
 */
@Data
@Accessors(chain = true)
public class DistancePulseData {
    /**
     * 距离门数组，表示不同距离的采样点
     */
    private double[] rangeGates;

    /**
     * 脉冲数组，表示不同时间的脉冲信号
     */
    private double[] pulses;

    /**
     * 复数信号的实部矩阵，维度通常为[距离门数][脉冲数]
     */
    private double[][] realPart;

    /**
     * 复数信号的虚部矩阵，维度通常为[距离门数][脉冲数]
     */
    private double[][] imagPart;

    /**
     * 构造函数，初始化距离脉冲数据对象
     *
     * @param rangeGates 距离门数组
     * @param pulses 脉冲数组
     * @param realPart 复数信号实部矩阵
     * @param imagPart 复数信号虚部矩阵
     */
    public DistancePulseData(double[] rangeGates, double[] pulses, double[][] realPart, double[][] imagPart) {
        this.rangeGates = rangeGates;
        this.pulses = pulses;
        this.realPart = realPart;
        this.imagPart = imagPart;
    }

}
